<!DOCTYPE html>
<!-- saved from url=(0127)https://docs.google.com/document/d/e/2PACX-1vQO1FpPgpoGZUPaZQDqVLN63ojVAoEQvUxfyyaWl96kipw9GwQ27f1Op4EQk8bPWb0KXJ4tp1iC8xOl/pub -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>WebPerfWG meeting minutes - March 29th 2019</title><link rel="shortcut icon" href="https://ssl.gstatic.com/docs/documents/images/kix-favicon7.ico"><meta name="referrer" content="strict-origin-when-cross-origin"><style type="text/css" nonce="">
      @import url("https://fonts.googleapis.com/css?family=Google+Sans");
      @import url("https://fonts.googleapis.com/css?family=Roboto");

      body {
        font-family: Roboto, arial, sans, sans-serif;
        margin: 0;
      }

      iframe {
        border: 0;
        frameborder: 0;
        height: 100%;
        width: 100%;
      }

      #header {
        align-items: center;
        background: white;
        border-bottom: 1px #ccc solid;
        display: flex;
        height: 60px;
        justify-content: space-between;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
      }

      #header #title {
        font-family: 'Google Sans';
        font-size: large;
        margin: auto 0 auto 20px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 70%;
      }

      #header #interval {
        margin: auto 25px auto 0;
        font-family: Roboto;
        font-size: small;;
      }

      #footer {
        background: #f0f0f0;
        border-bottom: 1px #ccc solid;
        bottom: 0;
        font-family: Roboto;
        font-size: small;
        padding: 10px 10px;
        position: fixed;
        text-align: center;
        width: 100%;
      }

      #contents {
        padding: 100px 20% 50px 20%;
      }

      @media only screen and (max-device-width: 800px) {
        #header {
          border-bottom-width: 5px;
          height: auto;
          display: block;
        }

        #header #title {
          font-size: 3em;
          margin: auto 0 auto 20px;
          width: 90%;
        }

        #header #interval {
          font-size: 1.5em;
          margin: 10px 0 auto 25px;
        }

        #contents {
          padding: 150px 5% 80px;
        }

        #footer {
          font-size: 2em;
        }
      }

      .dash {
        padding: 0 6px;
      }
    </style></head><body><div id="header"><div id="title">WebPerfWG meeting minutes - March 29th 2019</div><div id="interval"><span></span></div></div><div id="contents"><style type="text/css">.lst-kix_xkks1p7uudda-6>li:before{content:"\0025cf  "}.lst-kix_xkks1p7uudda-3>li:before{content:"\0025cf  "}.lst-kix_xkks1p7uudda-7>li:before{content:"\0025cb  "}.lst-kix_8ep5yzw2ngj3-8>li:before{content:"\0025a0  "}.lst-kix_sb2wjaknb67n-6>li:before{content:"\0025cf  "}ul.lst-kix_r67yyxsh2e5u-8{list-style-type:none}.lst-kix_qkbqgg4b9t7s-2>li:before{content:"\0025a0  "}.lst-kix_xkks1p7uudda-4>li:before{content:"\0025cb  "}ul.lst-kix_r67yyxsh2e5u-7{list-style-type:none}ul.lst-kix_r67yyxsh2e5u-6{list-style-type:none}.lst-kix_qkbqgg4b9t7s-3>li:before{content:"\0025cf  "}.lst-kix_xkks1p7uudda-5>li:before{content:"\0025a0  "}ul.lst-kix_r67yyxsh2e5u-5{list-style-type:none}.lst-kix_sb2wjaknb67n-5>li:before{content:"\0025a0  "}ul.lst-kix_r67yyxsh2e5u-4{list-style-type:none}.lst-kix_qkbqgg4b9t7s-4>li:before{content:"\0025cb  "}ul.lst-kix_r67yyxsh2e5u-3{list-style-type:none}ul.lst-kix_r67yyxsh2e5u-2{list-style-type:none}ul.lst-kix_r67yyxsh2e5u-1{list-style-type:none}ul.lst-kix_r67yyxsh2e5u-0{list-style-type:none}.lst-kix_qkbqgg4b9t7s-5>li:before{content:"\0025a0  "}.lst-kix_sb2wjaknb67n-7>li:before{content:"\0025cb  "}.lst-kix_qkbqgg4b9t7s-8>li:before{content:"\0025a0  "}.lst-kix_xkks1p7uudda-2>li:before{content:"\0025a0  "}.lst-kix_sb2wjaknb67n-8>li:before{content:"\0025a0  "}.lst-kix_qkbqgg4b9t7s-6>li:before{content:"\0025cf  "}.lst-kix_xkks1p7uudda-0>li:before{content:"\0025cf  "}.lst-kix_qkbqgg4b9t7s-7>li:before{content:"\0025cb  "}.lst-kix_xkks1p7uudda-1>li:before{content:"\0025cb  "}ul.lst-kix_xkks1p7uudda-4{list-style-type:none}ul.lst-kix_xkks1p7uudda-3{list-style-type:none}ul.lst-kix_xkks1p7uudda-2{list-style-type:none}ul.lst-kix_xkks1p7uudda-1{list-style-type:none}ul.lst-kix_xkks1p7uudda-0{list-style-type:none}.lst-kix_8ep5yzw2ngj3-0>li:before{content:"\0025cf  "}.lst-kix_8ep5yzw2ngj3-1>li:before{content:"\0025cb  "}ul.lst-kix_xkks1p7uudda-8{list-style-type:none}.lst-kix_8ep5yzw2ngj3-2>li:before{content:"\0025a0  "}ul.lst-kix_xkks1p7uudda-7{list-style-type:none}ul.lst-kix_xkks1p7uudda-6{list-style-type:none}ul.lst-kix_xkks1p7uudda-5{list-style-type:none}.lst-kix_8ep5yzw2ngj3-4>li:before{content:"\0025cb  "}.lst-kix_8ep5yzw2ngj3-3>li:before{content:"\0025cf  "}.lst-kix_8ep5yzw2ngj3-5>li:before{content:"\0025a0  "}.lst-kix_qkbqgg4b9t7s-1>li:before{content:"\0025cb  "}.lst-kix_8ep5yzw2ngj3-7>li:before{content:"\0025cb  "}.lst-kix_qkbqgg4b9t7s-0>li:before{content:"\0025cf  "}.lst-kix_xkks1p7uudda-8>li:before{content:"\0025a0  "}ul.lst-kix_sb2wjaknb67n-8{list-style-type:none}.lst-kix_8ep5yzw2ngj3-6>li:before{content:"\0025cf  "}ul.lst-kix_qkbqgg4b9t7s-7{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-0{list-style-type:none}ul.lst-kix_sb2wjaknb67n-4{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-8{list-style-type:none}ul.lst-kix_sb2wjaknb67n-5{list-style-type:none}.lst-kix_r67yyxsh2e5u-8>li:before{content:"-  "}ul.lst-kix_sb2wjaknb67n-6{list-style-type:none}ul.lst-kix_sb2wjaknb67n-7{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-3{list-style-type:none}ul.lst-kix_sb2wjaknb67n-0{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-4{list-style-type:none}ul.lst-kix_sb2wjaknb67n-1{list-style-type:none}.lst-kix_r67yyxsh2e5u-7>li:before{content:"-  "}ul.lst-kix_qkbqgg4b9t7s-5{list-style-type:none}ul.lst-kix_sb2wjaknb67n-2{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-6{list-style-type:none}ul.lst-kix_sb2wjaknb67n-3{list-style-type:none}.lst-kix_r67yyxsh2e5u-2>li:before{content:"-  "}.lst-kix_r67yyxsh2e5u-0>li:before{content:"-  "}.lst-kix_r67yyxsh2e5u-1>li:before{content:"-  "}ul.lst-kix_8ep5yzw2ngj3-8{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-0{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-7{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-1{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-6{list-style-type:none}ul.lst-kix_qkbqgg4b9t7s-2{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-5{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-4{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-3{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-2{list-style-type:none}ul.lst-kix_8ep5yzw2ngj3-1{list-style-type:none}li.li-bullet-0:before{margin-left:-18pt;white-space:nowrap;display:inline-block;min-width:18pt}.lst-kix_sb2wjaknb67n-2>li:before{content:"\0025a0  "}.lst-kix_sb2wjaknb67n-4>li:before{content:"\0025cb  "}.lst-kix_r67yyxsh2e5u-3>li:before{content:"-  "}.lst-kix_sb2wjaknb67n-3>li:before{content:"\0025cf  "}.lst-kix_r67yyxsh2e5u-4>li:before{content:"-  "}.lst-kix_r67yyxsh2e5u-5>li:before{content:"-  "}.lst-kix_sb2wjaknb67n-0>li:before{content:"\0025cf  "}.lst-kix_r67yyxsh2e5u-6>li:before{content:"-  "}.lst-kix_sb2wjaknb67n-1>li:before{content:"\0025cb  "}ol{margin:0;padding:0}table td,table th{padding:0}.c9{padding-top:14pt;padding-bottom:4pt;line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.c11{padding-top:20pt;padding-bottom:6pt;line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.c2{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:20pt;font-family:"Arial";font-style:normal}.c0{color:#666666;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:12pt;font-family:"Arial";font-style:normal}.c1{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c7{font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c3{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c12{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}.c15{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.c10{margin-left:108pt;padding-left:0pt}.c13{padding:0;margin:0}.c8{color:inherit;text-decoration:inherit}.c4{margin-left:36pt;padding-left:0pt}.c14{margin-left:72pt;padding-left:0pt}.c6{height:11pt}.c5{color:#ff0000}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}</style><div class="c15"><p class="c3"><span class="c1">Gilles Dubuc, Ilya Grigorik, Tim Dresser, Nicol&aacute;s Pe&ntilde;a, Laurent Dang, Nic Jansma, Philip Walton, Ryosuke Niwa, Sanjay Hegde, Steven Bougon, Will Hawkins, Yoav Weiss</span></p><h1 class="c11" id="h.txl1ukwmaleu"><span class="c2">Administrativa</span></h1><ul class="c13 lst-kix_8ep5yzw2ngj3-0 start"><li class="c3 c4 li-bullet-0"><span class="c1"><b>Next design call</b>: April 12th @ 11AM PST</span></li><li class="c3 c4 li-bullet-0"><span class="c1">Interest in F2F?</span></li></ul><ul class="c13 lst-kix_8ep5yzw2ngj3-1 start"><li class="c3 c14 li-bullet-0"><span class="c1">Interest in ~mid May, tentatively week of May 13th?</span></li></ul><ul class="c13 lst-kix_8ep5yzw2ngj3-2 start"><li class="c3 c10 li-bullet-0"><span class="c1">Ryosuke won’t be able to attend on 13th but Alex might be able to.</span></li></ul><ul class="c13 lst-kix_8ep5yzw2ngj3-1"><li class="c3 c14 li-bullet-0"><span class="c5"><b>AI</b>: Yoav will send out proposal to the group: dates, agenda, etc.</span></li></ul><h1 class="c11" id="h.ququpv2xda0m"><span class="c2">Performance Timeline</span></h1><h4 class="c9" id="h.ax9gbukdn05e"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/performance-timeline/issues/119&amp;sa=D&amp;source=editors&amp;ust=1613235853237000&amp;usg=AOvVaw3gT3BUN24aVblx4Y5vmFzo">WebIDL spec does not allow required dictionary argument with no required members</a></span></h4><ul class="c13 lst-kix_qkbqgg4b9t7s-0 start"><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/performance-timeline/pull/120&amp;sa=D&amp;source=editors&amp;ust=1613235853237000&amp;usg=AOvVaw0G6cCoPgAZ95yB6LfZcNui">Make observe() parameter an optional dictionary</a></span><span class="c1">&nbsp;</span></li></ul><p class="c3 c6"><span class="c1"></span></p><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: this change should only affect the IDL, Chrome implementation already behaves correctly. The IDL harness tests will automatically update when we update IDL.</span></p><p class="c3"><span class="c1"><b>Will</b>: ty for quick turnaround on this.</span></p><p class="c3 c6"><span class="c1"></span></p><p class="c3"><span class="c1">[everyone in agreement on proposed behavior]</span></p><h4 class="c9" id="h.7ce13rjl6jtg"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/performance-timeline/issues/117&amp;sa=D&amp;source=editors&amp;ust=1613235853238000&amp;usg=AOvVaw2FOPTgfDj3Wmv-dRAdZQa3">supportedEntryTypes API has some issues</a></span></h4><ul class="c13 lst-kix_qkbqgg4b9t7s-0"><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/performance-timeline/pull/118&amp;sa=D&amp;source=editors&amp;ust=1613235853238000&amp;usg=AOvVaw3WYS_05FzHWoH_5MXcR75Z"><b>supportedEntryTypes</b>: cache the FrozenArray</a></span></li></ul><p class="c3 c6"><span class="c1"></span></p><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: the intent is to cache per environment. Need to address Boris’s feedback</span></p><p class="c3"><span class="c1"><b>Yoav</b>: sg, will review the PR.</span></p><p class="c3"><span class="c1"><b>Will</b>: ty for quick turnaround on this.</span></p><p class="c3"><span class="c1"><b>Ryosuke</b>: why do we mention cache? Isn’t this just [sameobject]</span></p><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: we want the semantics of [sameobject]</span></p><p class="c3"><span class="c1"><b>Ryosuke</b>: in spec, we should just say ~“same object returned by the interface”</span></p><p class="c3"><span class="c1">… “cached” is an implementation detail</span></p><p class="c3"><span class="c5"><b>AI</b>: Yoav, Ryosuke, Nicol&aacute;s to review PR. </span></p><h4 class="c9" id="h.q90e6onfph6o"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/performance-timeline/pull/121&amp;sa=D&amp;source=editors&amp;ust=1613235853239000&amp;usg=AOvVaw1_7Py7FZPwd5MtL717qQvu">supported entry types needs to be context aware</a></span><span class="c0">&nbsp;</span></h4><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: above issue should address this one as well</span></p><p class="c3"><span class="c1"><b>Yoav</b>: Charlie opened a PR that conflicts with Nicol&aacute;s’s PR, we need to figure out the path forward, especially if your PR is adderssing it.</span></p><p class="c3"><span class="c5 c7"><b>AI</b>: Yoav to review Charlies PR.</span></p><p class="c3 c6"><span class="c1"></span></p><p class="c3"><span class="c1"><b>Yoav</b>: once we resolve the above issues, we can republish L2</span></p><p class="c3"><span>… in terms of tests (</span><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://wpt.fyi/results/performance-timeline?label%3Dmaster%26product%3Dchrome%255Bexperimental%255D%26product%3Dedge%26product%3Dfirefox%255Bexperimental%255D%26product%3Dsafari%255Bexperimental%255D%26aligned&amp;sa=D&amp;source=editors&amp;ust=1613235853240000&amp;usg=AOvVaw3hRcbWjMpPWH3-zCLUD_ZK">wpt.fyi</a></span><span class="c1">), Will landed fixes in FF but looks they haven’t landed</span></p><p class="c3"><span class="c1">… should be green soon</span></p><p class="c3"><span class="c1"><b>Will</b>: there is one outstanding red test on performance.mark but that’s UT L3</span></p><p class="c3"><span class="c1">… there is a timeout issue, but we can square that away</span></p><p class="c3"><span class="c1"><b>Yoav</b>: can we republish L2 perf timeline CR</span></p><p class="c3"><span class="c1">[agreement]</span></p><p class="c3"><span class="c5"><b>AI</b>: Yoav will kick off republish request</span></p><h1 class="c11" id="h.jgdjinhbw2xq"><span class="c2">Resource Timing</span></h1><ul class="c13 lst-kix_qkbqgg4b9t7s-0"><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues?utf8%3D%25E2%259C%2593%26q%3Dis%253Aissue%2Bis%253Aopen%2Bno%253Amilestone&amp;sa=D&amp;source=editors&amp;ust=1613235853241000&amp;usg=AOvVaw06B8i7sDRcP1r5dVPVtUQI">6 non-triaged issues</a></span></li><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues/71%23issuecomment-462167655&amp;sa=D&amp;source=editors&amp;ust=1613235853241000&amp;usg=AOvVaw03mOuWzF3tun6GYCOv_vus">Test status</a></span><span>&nbsp;- </span><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://wpt.fyi/results/resource-timing?label%3Dmaster%26product%3Dchrome%255Bexperimental%255D%26product%3Dedge%26product%3Dfirefox%255Bexperimental%255D%26product%3Dsafari%255Bexperimental%255D%26aligned&amp;sa=D&amp;source=editors&amp;ust=1613235853242000&amp;usg=AOvVaw1pHC-ygX5AQ1aeemuWAJeF">wpt.fyi</a></span></li><li class="c3 c4 li-bullet-0"><span>Pending test - </span><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/web-platform-tests/wpt/pull/13518&amp;sa=D&amp;source=editors&amp;ust=1613235853242000&amp;usg=AOvVaw1zzZH2TYd6QRCrxXTOKAiT">Test XO redirection sandwich with and without TAO</a></span></li></ul><h4 class="c9" id="h.tl1ky52xgc8u"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues/180&amp;sa=D&amp;source=editors&amp;ust=1613235853242000&amp;usg=AOvVaw2_vaBngbDZ3dK94p9myR8l">Access to the Remote Address information</a></span></h4><p class="c3"><span class="c1"><b>Yoav</b>: Feature request, needs security review</span></p><p class="c3"><span class="c1"><b>Ryosuke</b>: I don’t believe there is any existing mechanism to get this information</span></p><p class="c3"><span class="c1"><b>Yoav</b>: marking as L3 feature request</span></p><h4 class="c9" id="h.uxz8h8c1jufo"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues/190&amp;sa=D&amp;source=editors&amp;ust=1613235853243000&amp;usg=AOvVaw2CxK07Vn0zw0S3m0q5OtWg">Expose JavaScript code caching information in PerformanceResourceTiming</a></span></h4><p class="c3"><span class="c1"><b>Yoav</b>: similarly, marking as feature request for L3</span></p><p class="c3"><span class="c1"><b>Ryosuke</b>: commented on the issue, our implementation is very different, not sure if it makes sense for us</span></p><h4 class="c9" id="h.kigryp1x84ng"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues/200&amp;sa=D&amp;source=editors&amp;ust=1613235853243000&amp;usg=AOvVaw013IkT-84ra2qgD28fjiaX">Be a bit more explicit about which subresources are to be ignored from stylesheets</a></span><span class="c0">&nbsp;</span></h4><p class="c3"><span class="c1"><b>Ryosuke</b>: the whole point of opaque resource is that we should hide the fetches</span></p><p class="c3"><span class="c1">… cross-origin fetching same-origin should probably be hidden?</span></p><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: currently we only test whether cross-origin resource is exposed, we don’t test this explicit test</span></p><p class="c3"><span class="c1"><b>Yoav</b>: ~“CSS opaque resource should not expose its subresource” </span></p><p class="c3"><span class="c1"><b>Ilya</b>: normative change + new test?</span></p><p class="c3"><span class="c1">Yoav / Ryosuke: normative, need test, and L2 blocker</span></p><h4 class="c9" id="h.bhos3mnrffxg"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/resource-timing/issues/201&amp;sa=D&amp;source=editors&amp;ust=1613235853244000&amp;usg=AOvVaw0cUbeeYUhmxi2RNnKO3iOh">Specify TAO check for 304 responses</a></span><span class="c0">&nbsp;</span></h4><p class="c3"><span class="c1"><b>Ilya</b>: how do other headers behave for 304’s?</span></p><p class="c3"><span class="c1"><b>Yoav</b>: we should check what CORS is doing</span></p><p class="c3"><span class="c1">… for now, we won’t treat it as blocker</span></p><p class="c3"><span class="c1"><b>Ryosuke</b>: based on my read of Fetch, it sounds like we restore headers from original...</span></p><p class="c3"><span class="c5"><b>AI</b>: investigate current implementation and specs (CORS in particular)</span></p><p class="c3 c6"><span class="c1"></span></p><h4 class="c9" id="h.heeba7w6w6ta"><span>Pending test - </span><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/web-platform-tests/wpt/pull/13518&amp;sa=D&amp;source=editors&amp;ust=1613235853245000&amp;usg=AOvVaw2d9LdMh5DMvkLHnIjnmWc4">Test XO redirection sandwich with and without TAO</a></span></h4><p class="c3"><span class="c1"><b>Yoav</b>: we need to review and land</span></p><p class="c3"><span><b>Nicol&aacute;s</b>: will review</span></p><h1 class="c11" id="h.k8ixxdklvnq9"><span class="c2">Navigation Timing</span></h1><h4 class="c9" id="h.1thnzn3m604"><span class="c0">Need tests for…</span></h4><ul class="c13 lst-kix_xkks1p7uudda-0 start"><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/100&amp;sa=D&amp;source=editors&amp;ust=1613235853246000&amp;usg=AOvVaw3pGcvdE1VE4V2hKnGOGCEX">workerStart should be clearly defined as applicable to the last SW</a></span></li><li class="c3 c4 li-bullet-0"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/99&amp;sa=D&amp;source=editors&amp;ust=1613235853246000&amp;usg=AOvVaw3C0QyKp_RZsVoH_adXkG78">workerStart should be gated on timing-allow check</a></span></li></ul><p class="c3 c6"><span class="c1"></span></p><p class="c3"><span class="c1"><b>Yoav</b>: we need to add some spec wording to make it clear that TAO governs workerStart</span></p><h4 class="c9" id="h.65n8gihel3m7"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/104&amp;sa=D&amp;source=editors&amp;ust=1613235853246000&amp;usg=AOvVaw0JRyVIfHl7La0yUsGeoYer">Applying "timing allow check" to a document makes no sense</a></span></h4><p class="c3"><span class="c1"><b>Yoav</b>: we refactored RT to operate on request, not document</span></p><p class="c3"><span class="c1"><b>Nicol&aacute;s</b>: a document may not have a request, in which case we trivially pass the test</span></p><p class="c3"><span class="c1"><b>Yoav</b>: marking as L2 blocker</span></p><h4 class="c9" id="h.gv8a1ztacvgw"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/102&amp;sa=D&amp;source=editors&amp;ust=1613235853247000&amp;usg=AOvVaw37r1eX6Hw8cSyxSWv5rlli">supported entry types needs to be context aware</a></span></h4><p class="c3"><span><b>Yoav</b>: should be trivial once perf timeline update lands</span></p><h4 class="c9" id="h.9my6gqr613ut"><span class="c12"><a class="c8" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/84&amp;sa=D&amp;source=editors&amp;ust=1613235853247000&amp;usg=AOvVaw395xyCXZa0WMoygI5jSQ4U">secureConnectionStart definition is inconsistent with ResourceTiming</a></span></h4><p class="c3"><span class="c1"><b>Yoav</b>: minor wording update</span></p><p class="c3 c6"><span class="c1"></span></p><p class="c3 c6"><span class="c1"></span></p></div></div><div id="footer"><span>Published by <a target="_blank" title="Learn more about Google Drive" href="https://docs.google.com/">Google Drive</a></span><span class="dash">–</span><a href="https://docs.google.com/u/0/abuse?id=AKkXjoxwDSLTVd9927-U_KDZwWNBIz0tFeTX0b7XLojNvEcpMOgUk-5HoN1CFTYheEBhH7l77X1ITysAY_CpNLQ:0">Report Abuse</a></div><script type="text/javascript" nonce="">(function(){/*

 Copyright The Closure Library Authors.
 SPDX-License-Identifier: Apache-2.0
*/
var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var ca=ba(this);
function da(a,b){if(b)a:{var c=ca;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}var ea="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},fa;
if("function"==typeof Object.setPrototypeOf)fa=Object.setPrototypeOf;else{var ha;a:{var ia={a:!0},ja={};try{ja.__proto__=ia;ha=ja.a;break a}catch(a){}ha=!1}fa=ha?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ka=fa;
function h(a,b){a.prototype=ea(b.prototype);a.prototype.constructor=a;if(ka)ka(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.o=b.prototype}da("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});var l=this||self;function la(){}function ma(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}
function na(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function oa(a,b){function c(){}c.prototype=b.prototype;a.o=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.B=function(d,e,f){for(var g=Array(arguments.length-2),k=2;k<arguments.length;k++)g[k-2]=arguments[k];return b.prototype[e].apply(d,g)}}function pa(a){return a};var qa=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function ra(a,b,c){for(var d in a)b.call(c,a[d],d,a)};var m;function p(a,b){this.i=a===sa&&b||"";this.j=ta}p.prototype.h=!0;p.prototype.g=function(){return this.i};var ta={},sa={};var ua=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]},va=/&/g,wa=/</g,xa=/>/g,ya=/"/g,za=/'/g,Aa=/\x00/g,Ba=/[\x00&<>"']/;function Ca(a,b){return a<b?-1:a>b?1:0};function q(a,b){this.i=b===r?a:""}q.prototype.h=!0;q.prototype.g=function(){return this.i.toString()};q.prototype.toString=function(){return this.i.toString()};function u(a){return a instanceof q&&a.constructor===q?a.i:"type_error:SafeUrl"}
var Da=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,Ea=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,Fa=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Ga(a){if(a instanceof q)return a;a="object"==typeof a&&a.h?a.g():String(a);Fa.test(a)||(a="about:invalid#zClosurez");return new q(a,r)}
var r={},Ha=new q("about:invalid#zClosurez",r);var v;a:{var Ia=l.navigator;if(Ia){var Ja=Ia.userAgent;if(Ja){v=Ja;break a}}v=""}function w(a){return-1!=v.indexOf(a)};function x(a,b,c){this.i=c===Ka?a:""}x.prototype.h=!0;x.prototype.g=function(){return this.i.toString()};x.prototype.toString=function(){return this.i.toString()};var Ka={};function La(a,b,c,d){a=a instanceof q?a:Ga(a);b=b||l;c=c instanceof p?c instanceof p&&c.constructor===p&&c.j===ta?c.i:"type_error:Const":c||"";return void 0!==d?b.open(u(a),c,d,void 0):b.open(u(a),c)};function Ma(a){Ma[" "](a);return a}Ma[" "]=la;function y(a,b,c){return Object.prototype.hasOwnProperty.call(a,b)?a[b]:a[b]=c(b)};var Na=w("Opera"),z=w("Trident")||w("MSIE"),Oa=w("Edge"),Pa=Oa||z,Qa=w("Gecko")&&!(-1!=v.toLowerCase().indexOf("webkit")&&!w("Edge"))&&!(w("Trident")||w("MSIE"))&&!w("Edge"),Ra=-1!=v.toLowerCase().indexOf("webkit")&&!w("Edge"),Sa=w("Macintosh");function Ta(){var a=l.document;return a?a.documentMode:void 0}var Ua;
a:{var Va="",Wa=function(){var a=v;if(Qa)return/rv:([^\);]+)(\)|;)/.exec(a);if(Oa)return/Edge\/([\d\.]+)/.exec(a);if(z)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Ra)return/WebKit\/(\S+)/.exec(a);if(Na)return/(?:Version)[ \/]?(\S+)/.exec(a)}();Wa&&(Va=Wa?Wa[1]:"");if(z){var Xa=Ta();if(null!=Xa&&Xa>parseFloat(Va)){Ua=String(Xa);break a}}Ua=Va}var Ya=Ua,Za={},$a;if(l.document&&z){var ab=Ta();$a=ab?ab:parseInt(Ya,10)||void 0}else $a=void 0;var bb=$a;function cb(a){return y(a.prototype,"$$generatedClassName",function(){return"Class$obf_"+{valueOf:function(){return++db}}})}var db=1E3;function A(){}A.prototype.u=function(){return this.j||(Object.defineProperties(this,{j:{value:++eb,enumerable:!1}}),this.j)};A.prototype.toString=function(){var a=B(fb(gb(this.constructor)))+"@";var b=(this.u()>>>0).toString(16);return a+B(b)};function D(){}h(D,A);D.prototype.i=function(a){this.h=a;if(a instanceof Object)try{a.A=this}catch(b){}};function hb(a){a.h instanceof Error&&(Error.captureStackTrace?Error.captureStackTrace(a.h):a.h.stack=Error().stack)}D.prototype.toString=function(){var a=fb(gb(this.constructor)),b=this.l;return null==b?a:B(a)+": "+B(b)};function ib(){}h(ib,D);function jb(){}h(jb,ib);var eb=0;function E(){}h(E,jb);E.prototype.i=function(a){jb.prototype.i.call(this,Object.is(this.g,"__noinit__")?a:this.g)};function kb(){}h(kb,E);function lb(a,b){return"string"==typeof a?a.charCodeAt(b):a.g(b)};function B(a){return null==a?"null":a.toString()}function mb(a){return 65536<=a?B(String.fromCharCode((55296+((a-65536|0)>>10&1023)|0)&65535))+B(String.fromCharCode((56320+((a-65536|0)&1023)|0)&65535)):String.fromCharCode(a&65535)}function nb(a,b){var c=b,d=a.length,e;b=lb(a,(e=c,c=c+1|0,e));var f;if(e=55296<=b&&56319>=b&&c<d)a=f=lb(a,c),e=56320<=a&&57343>=a;var g;e?g=65536+((b&1023)<<10)+(f&1023)|0:g=b;return g};function ob(a,b){this.h=a;this.g=b}h(ob,A);function fb(a){var b=cb(a.h);0!=a.g&&(b="L"+B(b)+";");a=a.g;for(var c="",d=0;d<a;d=d+1|0)c=B(c)+"[";return B(c)+B(b)}ob.prototype.toString=function(){return"class "+B(fb(this))};function gb(a){var b=0;return y(a.prototype,"$$class/"+b,function(){return new ob(a,b)})};function pb(a,b){return null==a?a:b?decodeURI(a):decodeURIComponent(a)};var qb=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\S\s]*))?$/;function rb(a){a=qb.exec(a);for(var b=[],c=0;7>=c;c=c+1|0)a.length<=c||null==a[c]?b.push(null):b.push(a[c]);return b}
function sb(a,b){var c=a.indexOf(mb(35));c=0>c?a.length:c;a:{var d=0;for(var e=b.length;0<(d=a.indexOf(b,d))&&d<c;){var f=nb(a,d-1|0);if(38==f||63==f){if((d+e|0)>=a.length)break a;f=nb(a,d+e|0);if(61==f||38==f||35==f)break a}d=d+(e+1)|0}d=-1}if(0>d)return null;e=a.indexOf(mb(38),d);if(0>e||e>c)e=c;d=d+(b.length+1)|0;b=Math.min(a.length,d);a=a.substr(b,Math.min(a.length,Math.max(d,e))-b|0);c=" ";for(b=0;0<=(b=c.indexOf("\\",b));)36==c.charCodeAt(b+1|0)?(d=B(c.substr(0,b|0))+"$",e=b=b+1|0,c=d+B(c.substr(e))):
(d=B(c.substr(0,b|0)),e=b=b+1|0,c=d+B(c.substr(e)));a=a.replace(/\+/g,c);return pb(a,!1)};function F(a,b){this.h=b;for(var c=[],d=!0,e=a.length-1;0<=e;e--){var f=a[e]|0;d&&f==b||(c[e]=f,d=!1)}this.g=c}var tb={};function ub(a){return-128<=a&&128>a?y(tb,a,function(b){return new F([b|0],0>b?-1:0)}):new F([a|0],0>a?-1:0)}function G(a){if(isNaN(a)||!isFinite(a))return H;if(0>a)return I(G(-a));for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=4294967296;return new F(b,0)}var H=ub(0),J=ub(1),vb=ub(16777216);
function K(a){if(-1==a.h)return-K(I(a));for(var b=0,c=1,d=0;d<a.g.length;d++){var e=L(a,d);b+=(0<=e?e:4294967296+e)*c;c*=4294967296}return b}F.prototype.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(M(this))return"0";if(-1==this.h)return"-"+I(this).toString(a);for(var b=G(Math.pow(a,6)),c=this,d="";;){var e=wb(c,b).g;c=N(c,O(e,b));var f=((0<c.g.length?c.g[0]:c.h)>>>0).toString(a);c=e;if(M(c))return f+d;for(;6>f.length;)f="0"+f;d=f+d}};
function L(a,b){return 0>b?0:b<a.g.length?a.g[b]:a.h}function M(a){if(0!=a.h)return!1;for(var b=0;b<a.g.length;b++)if(0!=a.g[b])return!1;return!0}function P(a,b){a=N(a,b);return-1==a.h?-1:M(a)?0:1}function I(a){for(var b=a.g.length,c=[],d=0;d<b;d++)c[d]=~a.g[d];return(new F(c,~a.h)).add(J)}F.prototype.abs=function(){return-1==this.h?I(this):this};
F.prototype.add=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0,e=0;e<=b;e++){var f=d+(L(this,e)&65535)+(L(a,e)&65535),g=(f>>>16)+(L(this,e)>>>16)+(L(a,e)>>>16);d=g>>>16;f&=65535;g&=65535;c[e]=g<<16|f}return new F(c,c[c.length-1]&-2147483648?-1:0)};function N(a,b){return a.add(I(b))}
function O(a,b){if(M(a)||M(b))return H;if(-1==a.h)return-1==b.h?O(I(a),I(b)):I(O(I(a),b));if(-1==b.h)return I(O(a,I(b)));if(0>P(a,vb)&&0>P(b,vb))return G(K(a)*K(b));for(var c=a.g.length+b.g.length,d=[],e=0;e<2*c;e++)d[e]=0;for(e=0;e<a.g.length;e++)for(var f=0;f<b.g.length;f++){var g=L(a,e)>>>16,k=L(a,e)&65535,t=L(b,f)>>>16,n=L(b,f)&65535;d[2*e+2*f]+=k*n;Q(d,2*e+2*f);d[2*e+2*f+1]+=g*n;Q(d,2*e+2*f+1);d[2*e+2*f+1]+=k*t;Q(d,2*e+2*f+1);d[2*e+2*f+2]+=g*t;Q(d,2*e+2*f+2)}for(e=0;e<c;e++)d[e]=d[2*e+1]<<16|
d[2*e];for(e=c;e<2*c;e++)d[e]=0;return new F(d,0)}function Q(a,b){for(;(a[b]&65535)!=a[b];)a[b+1]+=a[b]>>>16,a[b]&=65535,b++}function S(a,b){this.g=a;this.h=b}
function wb(a,b){if(M(b))throw Error("division by zero");if(M(a))return new S(H,H);if(-1==a.h)return b=wb(I(a),b),new S(I(b.g),I(b.h));if(-1==b.h)return b=wb(a,I(b)),new S(I(b.g),b.h);if(30<a.g.length){if(-1==a.h||-1==b.h)throw Error("slowDivide_ only works with positive integers.");for(var c=J,d=b;0>=P(d,a);)c=xb(c,1),d=xb(d,1);var e=T(c,1),f=T(d,1);d=T(d,2);for(c=T(c,2);!M(d);){var g=f.add(d);0>=P(g,a)&&(e=e.add(c),f=g);d=T(d,1);c=T(c,1)}b=N(a,O(e,b));return new S(e,b)}for(e=H;0<=P(a,b);){c=Math.max(1,
Math.floor(K(a)/K(b)));d=Math.ceil(Math.log(c)/Math.LN2);d=48>=d?1:Math.pow(2,d-48);f=G(c);for(g=O(f,b);-1==g.h||0<P(g,a);)c-=d,f=G(c),g=O(f,b);M(f)&&(f=J);e=e.add(f);a=N(a,g)}return new S(e,a)}F.prototype.and=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=L(this,d)&L(a,d);return new F(c,this.h&a.h)};F.prototype.or=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=L(this,d)|L(a,d);return new F(c,this.h|a.h)};
F.prototype.xor=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=L(this,d)^L(a,d);return new F(c,this.h^a.h)};function xb(a,b){var c=b>>5;b%=32;for(var d=a.g.length+c+(0<b?1:0),e=[],f=0;f<d;f++)e[f]=0<b?L(a,f-c)<<b|L(a,f-c-1)>>>32-b:L(a,f-c);return new F(e,a.h)}function T(a,b){var c=b>>5;b%=32;for(var d=a.g.length-c,e=[],f=0;f<d;f++)e[f]=0<b?L(a,f+c)>>>b|L(a,f+c+1)<<32-b:L(a,f+c);return new F(e,a.h)};N(xb(J,32),J);N(xb(J,128),J);function yb(a){a&&"function"==typeof a.v&&a.v()};function U(){this.h=this.h;this.g=this.g}U.prototype.h=!1;U.prototype.v=function(){this.h||(this.h=!0,this.j())};U.prototype.j=function(){if(this.g)for(;this.g.length;)this.g.shift()()};var zb=!z||9<=Number(bb),Ab=!z||9<=Number(bb),Bb=z&&!y(Za,"9",function(){for(var a=0,b=ua(String(Ya)).split("."),c=ua("9").split("."),d=Math.max(b.length,c.length),e=0;0==a&&e<d;e++){var f=b[e]||"",g=c[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;a=Ca(0==f[1].length?0:parseInt(f[1],10),0==g[1].length?0:parseInt(g[1],10))||Ca(0==f[2].length,0==g[2].length)||Ca(f[2],g[2]);f=f[3];g=g[3]}while(0==a)}return 0<=a}),
Cb=function(){if(!l.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{l.addEventListener("test",la,b),l.removeEventListener("test",la,b)}catch(c){}return a}();function Db(a,b){this.type=a;this.g=this.target=b;this.defaultPrevented=!1}Db.prototype.h=function(){this.defaultPrevented=!0};function V(a,b){Db.call(this,a?a.type:"");this.relatedTarget=this.g=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.i=null;if(a){var c=this.type=a.type,d=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.g=b;if(b=a.relatedTarget){if(Qa){a:{try{Ma(b.nodeName);var e=!0;break a}catch(f){}e=
!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;d?(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0):(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=
a.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType="string"===typeof a.pointerType?a.pointerType:Eb[a.pointerType]||"";this.state=a.state;this.i=a;a.defaultPrevented&&V.o.h.call(this)}}oa(V,Db);var Fb=[1,4,2],Eb={2:"touch",3:"pen",4:"mouse"};V.prototype.h=function(){V.o.h.call(this);var a=this.i;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Bb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Gb="closure_listenable_"+(1E6*Math.random()|0);var Hb=0;function Ib(a,b,c,d,e){this.listener=a;this.g=null;this.src=b;this.type=c;this.capture=!!d;this.h=e;this.key=++Hb;this.m=this.s=!1}function Jb(a){a.m=!0;a.listener=null;a.g=null;a.src=null;a.h=null};function Kb(a){this.src=a;this.g={};this.h=0}Kb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.g[f];a||(a=this.g[f]=[],this.h++);var g;a:{for(g=0;g<a.length;++g){var k=a[g];if(!k.m&&k.listener==b&&k.capture==!!d&&k.h==e)break a}g=-1}-1<g?(b=a[g],c||(b.s=!1)):(b=new Ib(b,this.src,f,!!d,e),b.s=c,a.push(b));return b};function Lb(a,b){var c=b.type;if(c in a.g){var d=a.g[c],e=qa(d,b),f;(f=0<=e)&&Array.prototype.splice.call(d,e,1);f&&(Jb(b),0==a.g[c].length&&(delete a.g[c],a.h--))}};var Mb="closure_lm_"+(1E6*Math.random()|0),Nb={},Ob=0;function Pb(a,b,c,d,e){if(d&&d.once)return Qb(a,b,c,d,e);if(Array.isArray(b)){for(var f=0;f<b.length;f++)Pb(a,b[f],c,d,e);return null}c=Rb(c);return a&&a[Gb]?a.g.add(String(b),c,!1,ma(d)?!!d.capture:!!d,e):Sb(a,b,c,!1,d,e)}
function Sb(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=ma(e)?!!e.capture:!!e,k=Tb(a);k||(a[Mb]=k=new Kb(a));c=k.add(b,c,d,g,f);if(c.g)return c;d=Ub();c.g=d;d.src=a;d.listener=c;if(a.addEventListener)Cb||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(Vb(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");Ob++;return c}
function Ub(){var a=Wb,b=Ab?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function Qb(a,b,c,d,e){if(Array.isArray(b)){for(var f=0;f<b.length;f++)Qb(a,b[f],c,d,e);return null}c=Rb(c);return a&&a[Gb]?a.g.add(String(b),c,!0,ma(d)?!!d.capture:!!d,e):Sb(a,b,c,!0,d,e)}
function Xb(a){if("number"!==typeof a&&a&&!a.m){var b=a.src;if(b&&b[Gb])Lb(b.g,a);else{var c=a.type,d=a.g;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(Vb(c),d):b.addListener&&b.removeListener&&b.removeListener(d);Ob--;(c=Tb(b))?(Lb(c,a),0==c.h&&(c.src=null,b[Mb]=null)):Jb(a)}}}function Vb(a){return a in Nb?Nb[a]:Nb[a]="on"+a}
function Yb(a,b,c,d){var e=!0;if(a=Tb(a))if(b=a.g[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.m&&(f=Zb(f,d),e=e&&!1!==f)}return e}function Zb(a,b){var c=a.listener,d=a.h||a.src;a.s&&Xb(a);return c.call(d,b)}
function Wb(a,b){if(a.m)return!0;if(!Ab){if(!b)a:{b=["window","event"];for(var c=l,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new V(d,this);c=!0;if(!(0>d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.g;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.g=d[e];var f=Yb(d[e],a,!0,b);c=c&&f}for(e=0;e<d.length;e++)b.g=d[e],f=Yb(d[e],a,!1,b),c=c&&f}return c}return Zb(a,
new V(b,this))}function Tb(a){a=a[Mb];return a instanceof Kb?a:null}var $b="__closure_events_fn_"+(1E9*Math.random()>>>0);function Rb(a){if("function"===typeof a)return a;a[$b]||(a[$b]=function(b){return a.handleEvent(b)});return a[$b]};function W(a){U.call(this);this.l=a;this.i={}}oa(W,U);var ac=[];function bc(a){ra(a.i,function(b,c){this.i.hasOwnProperty(c)&&Xb(b)},a);a.i={}}W.prototype.j=function(){W.o.j.call(this);bc(this)};W.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function cc(a){U.call(this);this.i=a||document.body;this.l=new W(this);a=na(yb,this.l);this.h?a():(this.g||(this.g=[]),this.g.push(a));a=this.l;var b=this.i,c=this.u,d="click";Array.isArray(d)||(d&&(ac[0]=d.toString()),d=ac);for(var e=0;e<d.length;e++){var f=Pb(b,d[e],c||a.handleEvent,!1,a.l||a);if(!f)break;a.i[f.key]=f}}h(cc,U);
cc.prototype.u=function(a){if(!(!(zb?0==a.i.button:"click"==a.type||a.i.button&Fb[0])||Sa&&a.ctrlKey||a.defaultPrevented))for(var b=a.target;b&&b!=this.i;){if(b.tagName&&"a"==b.tagName.toLowerCase()){var c=b.getAttribute("href")||b.getAttributeNS("http://www.w3.org/1999/xlink","href"),d=c;try{var e=rb(c)[3];var f;if(f="www.google.com"===pb(e,!0)){var g=rb(c)[5];f="/url"===pb(g,!0)}if(f){var k=sb(c,"q");d=k?k:sb(c,"url")}}catch(C){a:{var t=C;if(null!=t){var n=t.A;if(null!=n){C=n;break a}}if(t instanceof
TypeError){var R=n=new kb;R.l=B(t);hb(R);n.g="__noinit__";n.g=t;n.i(new TypeError(n));t=n}else R=n=new E,R.l=B(t),hb(R),n.g="__noinit__",n.g=t,n.i(Error(n)),t=n;C=t}if(!(C instanceof ib))throw C.h;}d=null!=d?d:"";if(c!=d){e=void 0;b={target:"_blank",noreferrer:!0};c=window;d instanceof q?f=d:(f="undefined"!=typeof d.href?d.href:String(d),f instanceof q||(f="object"==typeof f&&f.h?f.g():String(f),Fa.test(f)?f=new q(f,r):(f=String(f),f=f.replace(/(%0A|%0D)/g,""),f=(g=f.match(Ea))&&Da.test(g[1])?new q(f,
r):null)),f=f||Ha);d=b.target||d.target;g=[];for(e in b)switch(e){case "width":case "height":case "top":case "left":g.push(e+"="+b[e]);break;case "target":case "noopener":case "noreferrer":break;default:g.push(e+"="+(b[e]?1:0))}e=g.join(",");if((w("iPhone")&&!w("iPod")&&!w("iPad")||w("iPad")||w("iPod"))&&c.navigator&&c.navigator.standalone&&d&&"_self"!=d)e="A",g=document,e=String(e),"application/xhtml+xml"===g.contentType&&(e=e.toLowerCase()),g=e=g.createElement(e),f=f instanceof q?f:Ga(f),g.href=
u(f),e.setAttribute("target",d),b.noreferrer&&e.setAttribute("rel","noreferrer"),b=document.createEvent("MouseEvent"),b.initMouseEvent("click",!0,!0,c,1),e.dispatchEvent(b);else if(b.noreferrer){if(c=La("",c,d,e),b=u(f),c){Pa&&-1!=b.indexOf(";")&&(b="'"+b.replace(/'/g,"%27")+"'");c.opener=null;Ba.test(b)&&(-1!=b.indexOf("&")&&(b=b.replace(va,"&amp;")),-1!=b.indexOf("<")&&(b=b.replace(wa,"&lt;")),-1!=b.indexOf(">")&&(b=b.replace(xa,"&gt;")),-1!=b.indexOf('"')&&(b=b.replace(ya,"&quot;")),-1!=b.indexOf("'")&&
(b=b.replace(za,"&#39;")),-1!=b.indexOf("\x00")&&(b=b.replace(Aa,"&#0;")));b='<meta name="referrer" content="no-referrer"><meta http-equiv="refresh" content="0; url='+b+'">';if(void 0===m)if(d=null,(e=l.trustedTypes)&&e.createPolicy){try{d=e.createPolicy("goog#html",{createHTML:pa,createScript:pa,createScriptURL:pa})}catch(C){l.console&&l.console.error(C.message)}m=d}else m=d;b=(d=m)?d.createHTML(b):b;b=new x(b,null,Ka);(c=c.document)&&c.write&&(c.write(b instanceof x&&b.constructor===x?b.i:"type_error:SafeHtml"),
c.close())}}else(c=La(f,c,d,e))&&b.noopener&&(c.opener=null);a.h();break}}b=b.parentNode}};function dc(a){new cc(a)}var X=["DOCS_installLinkReferrerSanitizer"],Y=l;X[0]in Y||"undefined"==typeof Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());)X.length||void 0===dc?Y[Z]&&Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}:Y[Z]=dc;}).call(this);
</script><script type="text/javascript" nonce="">DOCS_installLinkReferrerSanitizer();</script></body></html>